在網路上搜尋、下載並安裝好最新的JDK(JAVA編輯器套裝)
設定系統path 讓JAVA在任何路徑下都能直接啟動
- 點選win開始選單->輸入「環境變數」進行搜尋
- 在環境變數中找到Path變數,將JAVA資資料夾中的bin資料夾新增進Path變數裡面
例:C:\Program Files\Java\jdk-11.0.1\bin
確認步驟1和2設定成功
- 點選win開始選單->輸入「cmd」開啟命令提示字元視窗
- 輸入javac -version,若畫面顯示版本號碼即設定成功
程式碼檔案(source file)->編譯後檔案(class file)->JVM(JAVA虛擬機)執行
※source file的本質是個文件檔,可以用任何文書軟體編輯。只要副檔名指定為.java,就能被JAVA的編譯器識別。
class file記錄了二進位的內容,是給JVM看的檔案,由JVM再翻譯成電腦可以執行的語言。
新建一個記事本檔案,命名為Sample1_1.java
※window環境下預設文件副檔名為txt,無法直接修改為java。
這時候需要開一個新的資料夾把檔案放進去,然後點選「檢視」->「附檔名」並加以修改。
檔案內容如下
class Sample1_1 {
public static void main(String[] args) {
System.out.println("Hello!");
}
}
main方法裡面寫了System.out.println("Hello!");
表示調用System模組裡的out物件,並執行println(意指print line)方法
在畫面上顯示出「Hello!」字串
每個方法的結尾須使用「;」作結。
在檔案上點選右鍵確認檔案所在路徑
例:C:\Users\userXXX\Desktop\java
- 點選win開始選單->輸入「cmd」開啟命令提示字元視窗
- 輸入 cd C:\Users\userXXX\Desktop\java(請輸入自己的檔案路徑) ,移動到檔案所在位置。
- 輸入javac Sample1_1.java進行編譯。※注意大小寫
成功的話資料夾內會出現Sample1_1.class檔案。
在命令提示字元視窗輸入java Sample1_1
畫面出現Hello!即表示程式成功執行了。
以上就是最簡單的java程式,依此類推可以把任何邏輯寫到java檔裡並執行。
寫一個Sample1_2.java,裡面放一個空的class
class Foo {}
※Foo是範例常用的名稱,並沒有特殊意義。也可以取任何自己喜歡的名稱。
依照之前的步驟編譯Sample1_2.java檔案
編譯後會得到Foo.class檔案,檔名與class名稱相同。
class Bar {}
class Sample1_3 {
public static void main(String[] args) {
System.out.println("Hello!");
}
}
依照之前的步驟編譯Sample1_3.java檔案
編譯後會得到Bar.class和Sample1_3.class兩個檔案。
其中Sample1_3.class裡面有main方法,所以可以執行。
但Bar.class裡面沒有main方法,執行會報錯。
試著執行以下指令
java Sample1_3
java Bar
雖然一個java檔內可以放入多個class
但是public class只能有一個,而且這個class的名字必須與java檔名一樣。
在java檔裡面可以用//符號寫註釋
class Sample1_4 {
public static void main(String[] args) {
System.out.println(123.45); //10進位
System.out.println(0b11111111); //0b開頭為2進位表示法
System.out.println(0xff); //0x開頭為16進位表示法
System.out.println('A'); //''單一字母或Unicode
System.out.println('\u3012'); //''單一字母或Unicode
System.out.println("Hello"); //""文字列
}
}
依照之前的步驟編譯Sample1_4.java檔案
由於這次java檔案裡有中文字母,如果出現類似以下報錯,表示此文件的編碼和JAVA編譯程式時採用的編碼(MS950)不一致。
unmappable character (0x97) for encoding x-windows-950
發生錯誤時可直接把錯誤訊息貼到google搜尋解答
假設文件的編碼採用utf-8,可以用以下的指令解決。
javac -encoding utf-8 Sample1_4.java
編譯成功後執行java Sample1_4,可以發現在顯示結果時,各種數字都被轉換為10進位,Unicode字碼也被轉換為英文字母表示。
建立Sample1_5.java文件
class Sample1_5 {
public static void main(String[] args) {
int num1 = 10;
long num2 = 30;
long num3 = 10000000000;
float num4 = 10.0;
}
}
在java裡面,整數預設被當成int類型的資料,小數被預設當成double型資料。
因此,num3會報錯,因為10000000000超過了int類型所能保存的數值
num也會報錯,因為10.0先被存成double(64 Bit)資料,在放入num4變數(float, 32 Bit)時放不進去。
所以在初始化long及float類型的變數時,需要加註符號讓JAVA理解。正確寫法如下:
class Sample1_5 {
public static void main(String[] args) {
int num1 = 10;
long num2 = 30;
long num3 = 10000000000L;
float num4 = 10.0F;
}
}
在方法內宣告的變數,只在該方法內可以被使用。
class Sample1_6 {
public static void main(String[] args) {
int x = 10;
x = 20;
}
x = 30;
}
x變數由於是在main方法裡被宣告的,在此方法範圍外不能使用,因此x=30這行會報錯
以上 是關於JAVA的學習筆記,一共有八章,這是第一章。
整理筆記一方面是為自己釐清思緒,同時也留給需要的人參考用。
參考教材: JAVAプログラマSilver SE8 - 山本 道子